Servers in a data center are frequently arranged as leaf nodes in a “fat tree” of network devices that connect the servers to external networks. A fat tree can be generalized into three layers: an edge layer connecting to servers, an intermediary aggregation layer, and a root gateway layer connecting the tree to external networks. Each layer includes one or more network devices each bi-directionally linked to multiple devices in a lower layer. The bandwidth of each link is generally greater than (or “fatter” than) the bandwidth for a link at a lower layer. However, the aggregate bandwidth of the multiple links is generally reduced. As a result, in some cases, the upper layers of the fat tree are unable to accommodate the bandwidth demands of lower devices were they all to maximize their use of the provisioned bandwidth. That is, in many cases, the upper layers are over-subscribed and/or the lower layers are over-provisioned.